package com.mall.server.service.pms;


import com.mall.dubbo.api.PmsSkuStockApi;
import com.mall.model.domain.PmsSkuStock;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PmsSkuStockService {

    @DubboReference
    private PmsSkuStockApi skuStockApi;

    public void updateSkuStock(Integer pid, List<PmsSkuStock> newSkuStocks) {

        List<PmsSkuStock> skuStocks = skuStockApi.findByProductId(pid);
        if (skuStocks.size() > 0) {
            if (newSkuStocks.size() > 0) {
                for (PmsSkuStock newSkuStock : newSkuStocks) {
                    for (PmsSkuStock skuStock : skuStocks) {
                        if (skuStock.getId().equals(newSkuStock.getId()) &&
                                (skuStock.getProductId().equals(skuStock.getProductId()))) {
                            skuStockApi.updateById(newSkuStock);
                        }
                    }
                }
            } else {
                if (newSkuStocks.size() > 0) {
                    for (PmsSkuStock newSkuStock : newSkuStocks) {
                        if (newSkuStock != null) {
                            skuStockApi.save(newSkuStock);
                        }
                    }
                }
            }
        }
    }

    public List<PmsSkuStock> findByPidAndCode(Integer pid, String keyword) {

        List<PmsSkuStock> skuStocks = skuStockApi.findByPidAndCode(pid, keyword);
        return skuStocks;
    }

}
